package com.fc.redap.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * Created by E7450 on 2019/1/9.
 */
@Getter
@Setter
@ToString
@ApiModel(value = "ProjectEntity", description = "合同对象")
public class ProjectEntity  implements Serializable {
    private static final long serialVersionUID = 1L;

    private Long id;   // 主键
    private String projectName; // 项目名称
    private String displayImgUrl;  // 首页展示照片
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date projectStartTime;  // 项目开始时间
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date projectEndTime;   // 项目结束时间

    @ApiModelProperty(value = "limitNumber", notes = "项目限制的人数 如果为0则不限制人数")
    private Integer limitNumber;  // 项目人数限制 其中0-不限制人数
    private Integer showLimitNumber; // 是否显示人数
    private String projectDesc;   // 项目描述

    @ApiModelProperty(value = "status", notes = "项目状态 1- 草稿 2 -发布")
    private Integer status; // 项目状态 1- 草稿 2 -发布
    private Date publishTime; // 发布时间
    private Date bookStartTime; // 接受预定开始时间
    private Date bookEndTime; // 接受预定结束时间
    private Integer bookedNumber; // 已预定人数
    private Long createUserId; // 创建人
    private Date createTime;
    private Date updateTime;
    private Integer type;

    @ApiModelProperty(value = "introImages", notes = "旅游项目介绍的图片信息，Url", allowEmptyValue = true)
    private List<ProjectIntroImageEntity> introImages;

    @ApiModelProperty(value = "scenicZones", notes = "旅游项目所涉及的地点信息，Url", allowEmptyValue = true)
    private List<ProjectScenicZoneEntity> scenicZones;

    private List<ProjectBookedUserEntity> bookedUsers; // 已预定的用户数
}
